/*
 * =====================================================================================
 *
 *       Filename:  ListNode.h
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  03/06/11 15:31:01
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  Marco Beierer (mk), marco.beierer@gmail.com
 *        Company:  Saxion Student
 *
 * =====================================================================================
 */

#ifndef LISTNODE_H
#define LISTNODE_H

#include "Area.h"

class ListNode {
private:
    ListNode* next;
    const Area* area;

public:
    ListNode(const Area* area);
    ~ListNode();
    bool merge(const Area* area);
    void insert(const Area* area, bool merge = false);
    const Area* getBestFittedHole(int size);
    ListNode* getNext();
    const Area* getArea();
    void setNext(ListNode* node);
    void setArea(const Area* area);
    void deleteNext();
};

#endif
